package com.mcxx.modules.miniSalvation.fundpay.dao.write;


import com.mcxx.modules.miniSalvation.fundpay.dto.FundPayFamilyDTO;
import com.mcxx.modules.miniSalvation.fundpay.entity.FundPayFamilyEntity;
import com.mcxx.modules.miniSalvation.fundpay.entity.FundPayMemberEntity;
import com.mcxx.modules.miniSalvation.fundpay.param.FundPayParam;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

public interface FundPayFamilyWriteDao {

	int insert(FundPayFamilyEntity fundPayFamily);


	int insertIgnoreNull(FundPayFamilyEntity fundPayFamily);


	int inserts(List<FundPayFamilyEntity> fundPayFamilyList);


	int updateIgnoreNull(FundPayFamilyEntity fundPayFamily);


	int deleteByFundPayIds(List<String> fundPayIdList);


	int deleteByFundPayIdAndFamilyId(String fundPayId, List<String> familyIdList);


	int deleteFamilyByDelMember(@Param("fundPayId") String fundPayId, @Param("memberIdList") List<String> memberIdList);


	int updateFamilyNumAndFundNumber(@Param("fundPayId") String fundPayId, @Param("familyIdList") List<String> familyIdList);


	int updateFamilyNumber(@Param("fundPayId") String fundPayId, @Param("fundPayFamilyId") String fundPayFamilyId);


    int insertCustomMember(@Param("customFundPayMemberList") List<FundPayMemberEntity> customFundPayMemberList);

	int updateAddMemberNum(String customFundPayId, int memberNum, int familyNum);

    int updateCustomRollMembers(@Param("list") List<FundPayMemberEntity> list);

	int updateCustomRollFamily(@Param("list") List<FundPayFamilyDTO> list);

	int insertRollFamily(FundPayFamilyDTO familyDTO);
}
